package com.lai.common.exception;

/*         错误码和错误信息定义类

        1.错误码定义规则为5为数字

        2．前两位表示业务场景，最后三位表示错误码。 例如:100001。 10:通用   001:系统未知常

        3．维护错误码后需要维护错误描述，将他们定义为枚举形式

        错误码列表:

        10:通用

        ​		001:参数格式校验

        11:商品

        12:订单

        13:购物车

        14:物流

        15:用户模块

        16:库存模块*/
public enum BizCodeEnum {  //enum特点相当于一个私有构造器

    UNKNOW_EXCEPTION(10000,"系统未知异常"),  //UNKNOW_EXCEPTION： 每一个相当于一个对象

    VAILD_EXCEPTION(10001,"参数个数校验失败"),

    SMS_CODE_EXCEPTION(10002,"验证码获取频率太高，请稍后再试"),

    FEIGN_EXCEPTION(10003,"远程服务调用失败"),

    PRODUCT_UP_EXCEPTION(11000,"商品上架异常"),

    USERNAME_EXIST_EXCEPTION(15001,"用户名已存在"),

    PHONE_EXIST_EXCEPTION(15002,"电话已存在"),

    ACCOUNT_PASSWORD_INVALID_EXCEPTION(15003,"用户名或密码错误"),

    OAUTH2_VERIFICATION_FAILED(15004,"授权验证失败"),

    INSUFFICIENT_STOCK_EXCEPTION(16000,"商品库存不足");

    private Integer code;
    private String msg;

    BizCodeEnum(int code,String msg){
        this.code = code;
        this.msg = msg;
    }

    public Integer getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }
}
